//-----------------------------------------------------------------
//           Implementation of the EventTTag class
//   This is the class to deal with the tags in the event level
//   Origin: Beijiang Liu, IHEP, liubj@ihep.ac.cn
//-----------------------------------------------------------------

#include "RootEventData/TTag.h"
#include "TCollection.h"  // Declares TIter
#include <iostream>
//#include <vector>
ClassImp(TTag)

//_____________________
  TTag::TTag() : 
TObject(),
fRun(0),
fRec(0),
fNcharge(0),
fNneu(0),
fNtot(0),
fNgam(0),
//fIgam(0),
fNgch_p(0),
//fItrk_p(0),
fNgch_m(0),
//fItrk_m(0),
fNpion_p(0),
//fIpion_p(0),
fNpion_m(0),
//fIpion_m(0),
fNkaon_p(0),
//fIkaon_p(0),
fNkaon_m(0),
//fIkaon_m(0),
fNproton_p(0),
//fIproton_p(0),
fNproton_m(0),
//fIproton_m(0),
fEvis(0.0)
{
  // TTag default constructor
}
TTag::TTag(const TTag & evTTag) :
  TObject(evTTag),
  fRun(evTTag.fRun),
  fRec(evTTag.fRec),
  fNcharge(evTTag.fNcharge),
  fNneu(evTTag.fNneu),
  fNtot(evTTag.fNtot),
  fNgam(evTTag.fNgam),
  //fIgam(evTTag.fIgam),
  fNgch_p(evTTag.fNgch_p),
  //fItrk_p(evTTag.fItrk_p),
  fNgch_m(evTTag.fNgch_m),
  //fItrk_m(evTTag.fItrk_m),
  fNpion_p(evTTag.fNpion_p),
  //fIpion_p(evTTag.fIpion_p),
  fNpion_m(evTTag.fNpion_m),
  //fIpion_m(evTTag.fIpion_m),
  fNkaon_p(evTTag.fNkaon_p),
  //fIkaon_p(evTTag.fIkaon_p),
  fNkaon_m(evTTag.fNkaon_m),
  //fIkaon_m(evTTag.fIkaon_m),
  fNproton_p(evTTag.fNproton_p),
  //fIproton_p(evTTag.fIproton_p),
  fNproton_m(evTTag.fNproton_m),
  //fIproton_m(evTTag.fIproton_m),
  fEvis(evTTag.fEvis)
{
  // TTag copy constructor
}
TTag & TTag::operator=(const TTag &evTTag) {
  // TTag assignment operator
  if (this != &evTTag) {
    TObject::operator=(evTTag);
    setRun(evTTag.getRun());
    setRec(evTTag.getRec());
    setNcharge(evTTag.getNcharge());
    setNneu(evTTag.getNneu());
    setNtot(evTTag.getNtot());
    setNgam(evTTag.getNgam());
    //setIgam(evTTag.getIgam());
    setNgch_p(evTTag.getNgch_p());
    //setItrk_p(evTTag.getItrk_p());
    setNgch_m(evTTag.getNgch_m());
    //setItrk_m(evTTag.getItrk_m());
    setNpion_p(evTTag.getNpion_p());
    //setIpion_p(evTTag.getIpion_p());
    setNpion_m(evTTag.getNpion_m());
    //setIpion_m(evTTag.getIpion_m());
    setNkaon_p(evTTag.getNkaon_p());
    //setIkaon_p(evTTag.getIkaon_p());
    setNkaon_m(evTTag.getNkaon_m());
    //setIkaon_m(evTTag.getIkaon_m());
    setNproton_p(evTTag.getNproton_p());
    //setIproton_p(evTTag.getIproton_p());
    setNproton_m(evTTag.getNproton_m());
    //setIproton_m(evTTag.getIproton_m());
    setEvis(evTTag.getEvis());
  }
  return *this;
}
TTag::~TTag() {
  // TTag destructor
}
//*****************************************************************
void TTag::initialize(){
}

//*****************************************************************
void TTag::Clear(Option_t *option) {

}

//***************************************************************************
void TTag::Print(Option_t *option) const {
  TObject::Print(option);
}
